<?php

  /** Classe de Debug.
	 * Cette classe contient des fonctions statiques pour debugguer & tracer.
	 * @author Sebastian Mosser
	 * @date 2006
	 * @version 1.0
 	 */
		
class Debug {

	/// Active t'on le debuggage ?
  private static $ENABLE = True;

	/** Affiche un tableau PHP sous forme HTML
	 * @param $array le tableau a afficher.
	 * @warning affiche le resultat par effet de bord.
	 */
	public static function printArray($array) {
		if (self::$ENABLE) {
   		$tmp = print_r($array,True);
   		$tmp = str_replace(" ","&nbsp;",$tmp);
   		print(nl2br($tmp));
   	}
	}

	/** Affiche du texte
	 * @param $str la chaine a afficher
	 * @warning affiche le resultat par effet de bord.
	 */
  public static function printText($str) {
  	if (self::$ENABLE)
    	print(nl2br(str_replace(" ","&nbsp;",$str)."<br />"));  
   }


  /** Pont \ref Bajax permettant le dump de la session courante.
   * @warning securisation de niveau 7 sur cette fonction.
   * @param $params aucun parametre attendus dans ce tableau.
   */
  public static function bajax_sessionDisplay($params) {
    $acl = array(); $acl[] = 7; Bajax::secureInvoke($acl);
		return $_SESSION;
	}
	
 	/** Pont \ref Bajax permettant le dump de la variable serveur.
   * @warning securisation de niveau 7 sur cette fonction.
   * @param $params aucun parametre attendus dans ce tableau.
   */
  public static function bajax_serverDisplay($params) {
    $acl = array(); $acl[] = 7; Bajax::secureInvoke($acl);
		return $_SERVER;
	}
	
	/** Affichage phpinfos
   * @warning securisation de niveau 7 sur cette fonction.
   * @param $level le niveau de details attendu par phpinfo
   */
	public static function showConfigInfo($level = -1) {
		$acl = array(); $acl[] = 7; Bajax::secureInvoke($acl);
		ob_start();
		phpinfo($level);
		$result = ob_get_contents();
		ob_end_clean();
		return $result;
	}
	
	/** Pont \ref Bajax vers \ref showConfigInfo
	 * @param $array tableau contenant en case 0 le niveau de details souhaite
	 */
	public static function bajax_infos($array) {
	  $level = PropRetriever::getOnIndex($array,0);
	  if ($level == "")
	  	$level = -1;
	  return self::showConfigInfo($level);
	}
	
	/** Pour obtenir la localisation de la page anti IE
	 * @param $params aucun parametre attendus dans ce tableau.
	 */
	public static function bajax_getBadBrowserURL($array) {
		return BALLOON_BASE_URL."errors/BadBrowser.php";
	}

}

?>